import Vue from 'vue'
import axios from 'axios'
import {
	UniAdapter
} from "uniapp-axios-adapter";


// create an axios instance
const service = axios.create({
	// url = base url + request url
	// baseURL: 'https://tt.dingshengtaiqiu.com', 
	// baseURL: 'https://tsr.dingshengtaiqiu.com', 
	baseURL: 'http://192.168.2.35:8201',
	//withCredentials: true, // send cookies when cross-domain requests 注意：withCredentials和后端配置的cross跨域不可同时使用
	timeout: 6000, // request timeout 
	crossDomain: true,
	adapter: UniAdapter,
})

// request拦截器,在请求之前做一些处理
service.interceptors.request.use(
	config => {
		// if (store.state.token) {
		// 	// 给请求头添加user-token
		// 	config.headers["user-token"] = store.state.token;
		// }
		// if (config["url"].indexOf("login") < 0) {
		// 	config.headers['token'] = uni.getStorageSync('token');
		// }
		// console.log('请求拦截成功', config)
		return config;
	},
	error => {
		console.log(error); // for debug
		return Promise.reject(error);
	}
);

//配置成功后的拦截器
service.interceptors.response.use(res => {
	if (res.data.code == 200) {
		// console.log('响应拦截成功--请求成功', res.data);
		return res.data
	} else {
		// console.log('响应拦截成功--请求失败', res.data);
		return Promise.reject(res.data);
	}
}, error => {
	if (error.response.code) {
		switch (error.response.code) {
			case 401:
				break;
			default:
				break;
		}
	}
	return Promise.reject(error)
})
export default service

// 在main.js中放入这段自定义适配器的代码，就可以实现uniapp的app和小程序开发中能使用axios进行跨域网络请求，并支持携带cookie
// axios.defaults.adapter = function(config) {
// 	return new Promise((resolve, reject) => {
// 		console.log(config)
// 		var settle = require('axios/lib/core/settle');
// 		var buildURL = require('axios/lib/helpers/buildURL');
// 		uni.request({
// 			method: config.method.toUpperCase(),
// 			url: config.baseURL + buildURL(config.url, config.params, config.paramsSerializer),
// 			header: config.headers,
// 			data: config.data,
// 			dataType: config.dataType,
// 			responseType: config.responseType,
// 			sslVerify: config.sslVerify,
// 			complete: function complete(response) {
// 				console.log("执行完成：", response)
// 				response = {
// 					data: response.data,
// 					status: response.statusCode,
// 					errMsg: response.errMsg,
// 					header: response.header,
// 					config: config
// 				};

// 				settle(resolve, reject, response);
// 			}
// 		})
// 	})
// }

